package procesador;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class ProcesadorSMS {
	
	public Double extraerImporte(String sms){
		String importe ="0.0";
		Pattern p = Pattern.compile("(\\s)+([0-9]+(\\.)+[0-9]+)(\\s)+");
		Matcher m = p.matcher(sms);
		while (m.find()) { 
		    importe = m.group();
		}
		return Double.parseDouble(importe);
	}
	
//	public Date extraerFecha(String sms){
//		
//		String fecha ="01/01/01";
//		Pattern p = Pattern.compile("(\\s)+([0-9]+(/)+[0-9]+)(\\s)+");
//		Matcher m = p.matcher(sms);
//		while (m.find()) { 
//		    importe = m.group();
//		}
//		return date;
//	}

	public String procesarBBVA(String sms){
		String detalleGasto = "";
		//Efectivo Movil
		Pattern p = Pattern.compile("Efectivo Movil");
		Matcher m = p.matcher(sms);
		while (m.find()) { 
			detalleGasto = m.group();
		}
		if(detalleGasto.length()>0){
			return detalleGasto;
		}
		
		//Transferencias Terceros
		p = Pattern.compile("Transferencias a Terceros|A CUENTAS DE TERCEROS");
		m = p.matcher(sms);
		while (m.find()) { 
			detalleGasto = m.group();
		}
		if(detalleGasto.length()>0){
			return detalleGasto;
		}
		//Pagos Claro
		p = Pattern.compile("Pagos Claro");
		m = p.matcher(sms);
		while (m.find()) { 
			detalleGasto = m.group();
		}
		if(detalleGasto.length()>0){
			return detalleGasto;
		}
		//Transferencia Interbancarias
		p = Pattern.compile("Transferencia Interbancarias");
		m = p.matcher(sms);
		while (m.find()) { 
			detalleGasto = m.group();
		}
		if(detalleGasto.length()>0){
			return detalleGasto;
		}
		//Pago de Telefonia Movil - Clar
		p = Pattern.compile("Pago de Telefonia Movil - Clar");
		m = p.matcher(sms);
		while (m.find()) { 
			detalleGasto = m.group();
		}
		if(detalleGasto.length()>0){
			return detalleGasto;
		}
		return detalleGasto;
	}
	
	public String procesarScotiaBank(String sms){
		String detalleGasto = "";
		//Dispocision de Efectivo
		Pattern p = Pattern.compile("Disposicion de Efectivo");
		Matcher m = p.matcher(sms);
		while (m.find()) { 
			detalleGasto = m.group();
		}
		if(detalleGasto.length()>0){
			return detalleGasto;
		}
		
		//Estaciones de Servicio
		p = Pattern.compile("Estaciones de Servicio");
		m = p.matcher(sms);
		while (m.find()) { 
			detalleGasto = m.group();
		}
		if(detalleGasto.length()>0){
			return detalleGasto;
		}
		
		return detalleGasto;
	}
	
	public void procesarBCP(){
		
	}
	
	public void procesarInterBank(){
		
	}
}
